<?php
declare(strict_types=1);

namespace app\admin\validate;

use think\Validate;

class RoleValidate extends Validate
{
    protected $rule = [
        'role_id' => 'require|number',
        'name' => 'require|max:32',
        'code' => 'require|alphaDash|max:32',
        'status' => 'in:0,1',
        'sort' => 'number',
        'remark' => 'max:255',
        'menu_ids' => 'array'
    ];

    protected $message = [
        'role_id.require' => '角色ID不能为空',
        'role_id.number' => '角色ID必须为数字',
        'name.require' => '角色名称不能为空',
        'name.max' => '角色名称最多32个字符',
        'code.require' => '角色标识不能为空',
        'code.alphaDash' => '角色标识只能是字母、数字和下划线_及破折号-',
        'code.max' => '角色标识最多32个字符',
        'status.in' => '状态值只能是0或1',
        'sort.number' => '排序必须为数字',
        'remark.max' => '备注最多255个字符',
        'menu_ids.array' => '菜单格式错误'
    ];

    protected $scene = [
        'add' => ['name', 'code', 'status', 'sort', 'remark', 'menu_ids'],
        'edit' => ['role_id', 'name', 'code', 'status', 'sort', 'remark', 'menu_ids']
    ];
} 